package org.jeecg.modules.gudingzichan.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description: gudingzichan
 * @Author: jeecg-boot
 * @Date:   2020-07-31
 * @Version: V1.0
 */
@Data
@TableName("gudingzichan")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="gudingzichan对象", description="gudingzichan")
public class GudingzichanChild implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键ID*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "主键ID")
    private String id;
	/**资产编号*/
	@Excel(name = "编号", width = 15)
    @ApiModelProperty(value = "资产编号")
    private String bianhao;
	/**资产名称*/
	@Excel(name = "资产名称", width = 15)
    private String zichanmingcheng;
	/**增减原因*/
    @Dict(dicCode = "gudzc_tianjyy")
    @Excel(name = "获取方式", width = 15, dicCode = "gudzc_tianjyy")
    @ApiModelProperty(value = "增减原因")
    private String yuanyin;
	/**计量单位*/
	@Excel(name = "计量单位", width = 15)
    @ApiModelProperty(value = "计量单位")
    private String danwei;
	/**规格型号*/
	@Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private String xinghao;
	/**数量*/
	@Excel(name = "现有数量", width = 15)
    @ApiModelProperty(value = "数量")
    private String shuliang;
	/**单价*/
	@Excel(name = "单价", width = 15)
    @ApiModelProperty(value = "单价")
    private String danjia;
	/**金额*/
	@Excel(name = "现有金额", width = 15)
    @ApiModelProperty(value = "金额")
    private String jine;
	/**保管人*/
	@Excel(name = "保管人", width = 15)
//	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    private String baoguanren;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**修改人*/
    @ApiModelProperty(value = "修改人")
    private String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;



    @TableField(exist = false)
    String deptId_fullName;

	/**调剂部门*/
	@Excel(name = "调剂部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "调剂部门")
    private String tiaojiDeptId;
	/**外借部门*/
	@Excel(name = "外借部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "外借部门")
    private String waijieDeptId;
	/**捐赠单位*/
	@Excel(name = "捐赠单位", width = 15)
    @ApiModelProperty(value = "捐赠单位")
    private String juanzengDanwei;
	/**类别*/
	@Excel(name = "科目", width = 15 , dictTable = "sys_category", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "类别")
    private String categoryId;
	/**taskId*/
	//@Excel(name = "taskId", width = 15)
    @ApiModelProperty(value = "taskId")
    private String taskId;
	/**processInstanceId*/
	//@Excel(name = "processInstanceId", width = 15)
    @ApiModelProperty(value = "processInstanceId")
    private String processInstanceId;

	@Excel(name = "使用状况", width = 15)
    @ApiModelProperty(value = "zichanStatus")
    @Dict(dicCode = "zichanStatus")
    private String zichanStatus;

    @Excel(name = "使用年限", width = 15)
	private String nianxian;

	private String weizhi;

    @TableField(exist = false)
    private Date endTime;
    @TableField(exist = false)
    private String auditStatus;
    @TableField(exist = false)
    private Integer processStatus;
    @TableField(exist = false)
    private String taskName;
    @TableField(exist = false)
    private String taskMsg;
    @TableField(exist = false)
    private String currtTaskId;
    @TableField(exist = false)
    private String auditMemo;

    // 摘要说明
    @Excel(name = "摘要", width = 15)
    String zhaiysm;

    // 登记日期
    @Excel(name = "日期", width = 15)
    String degnjrq;

    // 管理部门
    @Excel(name = "部门编码（现管理部门）", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    String guanlbm;

    /**使用部门*/
	@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
//    @Excel(name = "部门编码（使用部门）", width = 15)
    @Excel(name = "使用部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    private String deptId;

    @TableField(exist = false)
    String guanlbm_fullName;

    // 会计凭证
    @Excel(name = "会计凭证", width = 15)
    String kuaijpm;

    // 固定资产分类
    String gudzcfl;

    // 部门
    @ApiModelProperty(value = "部门")
    private String sysOrgCode;

    @TableField(exist = false)
    String assignName;

    String jingfkm;

    @Excel(name = "财务部门", width = 15,dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    String caiwbm;

    String zhaop;

    @ApiModelProperty(value = "申请类型")
    @Dict(dicCode = "sqlx")
    private String sqlx;

    @ApiModelProperty(value = "部门级别")
    @Dict(dicCode = "gudzclx")
    String bmjb;

    @ApiModelProperty(value = "批量标识")
    String pilbs;
//     页面传入的工作流id，决定创建那个流程
    @TableField(exist = false)
    private String workFlowId;
    @TableField(exist = false)
    private String shenpsj;

    // 原保管单位
    String yuanbgdw;

    // 原保管人
    String yuanbgr;

    // 质量等级
    @Dict(dicCode = "zhildj")
    String zhildj;

    // 清查状态
    @Dict(dicCode = "yesOrNo")
    String  qingczt;

    // 原资产名称
    String yuanzcmc;

    // 原规格型号
    String yuanggxh;

    private Integer status;


    // 存放位置手工填写
    @Excel(name = "存放位置")
    String weizhisgtx;

    // 下级审批人
    @TableField(exist = false)
    String auditUser;

    // 逻辑删除
    Integer deleteFlag;

    // 来源
    Integer createType;
    @Excel(name = "获取方式", width = 15, dicCode = "useStatus")
    @ApiModelProperty(value = "useStatus")
    @Dict(dicCode = "useStatus")
    String useStatus;

//    @TableField(exist = false)
//    private List<GudingzichanChild> children;

}
